#include <stdlib.h>
#include <string.h>
#include "mem.h"

void* zmalloc(size_t nbytes)
{
  void *mem;
  mem = malloc(nbytes);
  if (!mem)
    zerror2("failed to allocate %zu bytes", nbytes);
  return mem;
}


/* allocate cleard memory */
void* zmalloc0(size_t nbytes)
{
  void *mem;
  mem = calloc(1, nbytes);
  if (!mem)
    zerror2("failed to allocate %zu bytes", nbytes);
  return mem;
}

/* reallocate memory */
void* zrealloc(void *mem, size_t nbytes)
{
  mem = realloc(mem, nbytes);
  if (!mem)
    zerror2("failed to reallocate %zu bytes", nbytes);
  return mem;
}

/* free memory */
void zfree(void *mem)
{
  free(mem);
}


